package com.nanjustar.api.moudle.security.api;

import com.nanjustar.api.moudle.security.dto.ConsumerInfoDto;
import com.nanjustar.api.moudle.security.dto.MenuBackDto;
import com.nanjustar.api.moudle.security.dto.MenuRouterDto;
import com.nanjustar.api.moudle.security.entity.Consumer;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nanjustar.api.moudle.security.vo.ConsumerConditionVo;
import com.nanjustar.api.moudle.security.vo.ConsumerVo;
import com.nanjustar.api.moudle.security.vo.LoginVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author nanjustar
 * @since 2021-11-13
 */
public interface ConsumerService extends IService<Consumer> {

    /**
     * 用户登陆
     * @param loginVo 登陆信息 vo类
     * @return token 值
     */
    String userLogin(LoginVo loginVo);


    /**
     * 条件查询用户信息
     * @param consumerConditionVo 用户条件 vo 类
     * @return {@link ConsumerConditionVo} 用户信息
     */
    List<ConsumerInfoDto> listConsumerByCondition(ConsumerConditionVo consumerConditionVo);


    /**
     * 查询用户路由信息
     * @return {@link ConsumerInfoDto} 用户路由信息
     */
    List<ConsumerInfoDto>  listConsumerRouter();

    /**
     *  新增用户
     * @param consumerVo 用户信息 vo类
     */
    void saveConsumer(ConsumerVo consumerVo);

    /**
     *  修改用户
     * @param consumerVo 用户信息 vo类
     */
    void updateConsumer(ConsumerVo consumerVo);

    /**
     * 删除用户
     * @param id 用户id
     */
    void deleteConsumer(Integer id);


}
